package com.xx.ems.service;

import java.util.Date;
import java.util.List;
import java.util.Map;

import com.xx.ems.model.Accessory;
import com.xx.ems.model.Equipments;

/**
 * @author xxx
 * @date 2014-2-26
 * @version 1.0
 * 描述: 设备(包括相应的附件)CRUD操作
 */
public interface EquipmentCRUDService {
	/**
	 * 描述: 添加设备及相应的附件
	 * @param equipments
	 * @return
	 * @date 2014-2-26
	 */
	public List<Integer> addEquipment(int enternum, Equipments equipments, List<Accessory> accessoryList);
	/**
	 * 描述: 修改设备及相应的附件 
	 * @param equipments
	 * @date 2014-2-26
	 */
	public boolean updateEquipment(Equipments equipments, List<Accessory> accessoryList);
	/**
	 * 描述: 删除设备 (暂时不提供) 
	 * @param id
	 * @date 2014-2-26
	 */
	public boolean deleteEquipment(int[] eids);
	/**
	 * 描述: 删除附件 
	 * @param id
	 * @date 2014-2-26
	 */
	public boolean deleteAccessory(String ids);
	/**
	 * 描述: 将录入的设备与相应的图片进行绑定 
	 * @param eidArray
	 * @param eimgPath
	 * @date 2014-3-2
	 */
	public void bindEimgWithEquipment(List<Integer> eidArray, String eimgPath);
	/**
	 * 描述: 获取设备列表 
	 * @return
	 * @date 2014-3-3
	 */
	public Map<String, Object> getEquipmentList(int pageNow, int maxCount);
	/**
	 * 描述: 根据设备id获取相应的附件信息 
	 * @param eid
	 * @date 2014-3-3
	 */
	public List<Object> getAccessoryByEquipmentId(int eid);
	/**
	 * 描述: 根据设备名或设备编号进行模糊查询 
	 * @param searchinfo
	 * @param pageNow
	 * @param maxCount
	 * @date 2014-3-4
	 */
	public Map<String, Object> getEquipmentListByEnumberOrEname(String searchinfo, int pageNow, int maxCount);
	/**
	 * 描述: 根据条件查询获得符合条件的设备列表 (报表) 
	 * @param pageNow
	 * @param maxCount
	 * @param equipment
	 * @param eprice2
	 * @param in_time2
	 * @param produced_date2
	 * @param deadline2
	 * @param buy_time2
	 * @return
	 * @date 2014-3-6
	 */
	public Map<String, Object> getEquipmentListByCriteriaQuery(int pageNow, int maxCount, Equipments equipment, double eprice2, Date in_time2, Date produced_date2, int deadline2, Date buy_time2);
}